0%

包和导入

一,包和导入

1.1 包

包:关键字package,本质就是文件夹

问:为什么要创建不同的包?

答:因为一个项目中会有许多模块,一个模块中会涉及到很多相关的类,创建不同的包,将对应的类放在这些包中能提高对项目的管理。

任何一个类都必须在一个包中,并且这个类的第一行必须明确该类的完整路径

1
2
3
4
5
6
7
package com.qf.test;// 当前类所属的包

public class Test1 {
public static void main(String[] args) {
}

}

注:

一个类的完整路径(全类名、类全名)

1
例如:Test1这个类的完整路径是com.qf.test.Test1

1.2 包的命名

规则:标识符的规则

规范:全小写,用.来划分包的结构层次,一般使用域名倒置

常见的包名:

  1. 测试包:test
  2. 工具包:util
  3. 实体包:domain、entity、pojo、bean
  4. 数据库:dao(data access object)
  5. 业务层:service、business
  6. 控制层:controller

1.3 导入

导包:关键字import当一个类使用到了其他包中的类时,需要将这个类引入进来

注:

  1. 同包中的类调用时无需导包
  2. lang包中的类无需导入
1
2
3
4
5
6
7
8
9
10
11
12
13
/*import java.util.ArrayList;
import java.util.Arrays;
import java.util.Random;
import java.util.Scanner;*/

import java.util.*;// 通配符,按需导入

public class Test1 {

public static void main(String[] args) {

}
}

注:不同包中有同名的类,需要使用时,可以通过以下方式区别:

1
2
3
4
5
6
7
8
9
import java.util.Random;

public class Test1 {
public static void main(String[] args) {
com.qf.test.Random r1 = new com.qf.test.Random();
Random r2 = new Random();
com.qf.entity.Random r3 = new com.qf.entity.Random();
}
}

二,静态

关键字:static

2.1 静态的特点

  1. 静态成员随着类的加载而加载是最先进入内存的

  2. 静态成员,不属于对象,属于整个类,是这个类的所有对象的共享内容

  3. 静态成员应该使用类名调用

  4. 静态的只能调用静态的,不能调用非静态的;非静态的既可以调用静态的也可以调用非静态的

    注:后人知道前人,前人不知道后人

  5. 静态不能调用this

  6. 静态只能修饰成员

2.2 静态常量

格式:

1
public static final 数据类型 变量名 = 值;

注:

  1. 一般静态常量都是public
  2. 常量的命名规范:全大写,多个单词,用下划线连接
  3. 成员常量必须在创建时赋予初始值

2.3 静态代码块

格式:

1
2
3
4
5
public class Emp {
static{
// 静态代码块中的语句
}
}

特点:

  1. 静态代码块最优先执行
  2. 静态代码块只执行一次

作用:

  1. 读取配置文件
  2. 对静态属性进行初始化

注:多个静态代码块会根据书写顺序从上到下依次执行